﻿using System;

namespace Eassets.Layered.Domain.Asset
{
    [Serializable]
    public partial class Category
    {
        #region Fields
        /// <summary>
        /// The Id of the Category
        /// </summary>
        private int assetCategoryId;
        /// <summary>
        /// Category Code
        /// </summary>
        private String code;
        /// <summary>
        /// Full Category Code of the Category
        /// </summary>
        private String fullCategoryCode;
        /// <summary>
        /// Description of the category
        /// </summary>
        private String description;
        /// <summary>
        /// Description of the Category
        /// </summary>
        private String moreDetails;
        /// <summary>
        /// Check whether categorycode User defined
        /// </summary>
        private Boolean isUserDefined;
        /// <summary>
        /// to maintain category tree
        /// </summary>
        private int parentId;
        /// <summary>
        /// to maintain the category tree
        /// </summary>
        private String fullPath;
        #endregion

        #region Properties
        /// <summary>
        /// Gets or sets the Category ID of the Category.
        /// </summary>
        public int CategoryID
        {
            get
            {
                return this.assetCategoryId;
            }
            set
            {
                this.assetCategoryId = value;
            }
        }

        /// <summary>
        /// Gets or sets the Category ID of the Category.
        /// </summary>
        public string Code
        {
            get
            {
                return this.code;
            }
            set
            {
                this.code = (value != null) ? value : string.Empty;
                //this.code = value;
            }
        }

        /// <summary>
        /// Gets or sets the Category ID of the Category.
        /// </summary>
        public string FullCategoryCode
        {
            get
            {
                return this.fullCategoryCode;
            }
            set
            {
                this.fullCategoryCode = (value != null) ? value : string.Empty;
                //this.fullCategoryCode = value;
            }
        }

        public string Description
        {
            get
            {

                return this.description;
            }
            set
            {
                this.description = (value != null) ? value : string.Empty;
                //this.description = value;
            }
        }

        public string MoreDetails
        {
            get
            {

                return this.moreDetails;
            }
            set
            {
                this.moreDetails = (value != null) ? value : string.Empty;
                // this.moreDetails = value;
            }

        }

        public Boolean IsUserDefined
        {
            get
            {
                return this.isUserDefined;
            }
            set
            {
                this.isUserDefined = value;
            }
        }

        public int ParentId
        {
            get
            {
                return this.parentId;
            }
            set
            {
                this.parentId = value;
            }
        }

        public string FullPath
        {
            get
            {
                return this.fullPath;
            }
            set
            {
                this.fullPath = (value != null) ? value : string.Empty;
                //this.fullPath = value;
            }
        }
        #endregion

        // public System.Web.UI.WebControls.TreeNode NodeText { get; set; }
    }
}
